package com.itic.mall.system.goods.goodsspu.service;


import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.itic.mall.mobile.users.info.GoodsSpuVo;

import com.itic.mall.system.goods.goodsspu.persistence.model.GoodsSpu;
import com.itic.mall.system.goods.goodsspu.persistence.model.GoodsSpuExample;



public interface GoodsSpuService {


	/**
	 * 根据id list查找商品列表
	 * @param ids
	 * @return
	 */
	public List<GoodsSpu> getGoodsListByIds(List<String> ids);
	/**
	 * 根据目录ID获取分类名称
	 * @param id
	 * @return
	 */
	public String getGoodsCategory(String id) ;
    public List<GoodsSpuVo> getGoodsSpuVoList(List<GoodsSpu> list);
    /**
     * 商品列表展示条件查询
     * @param sourceFlag 页面来源标志（special 特卖）
     * @param request
     * @param spuIds
     * @param shareId
     * @param goodsSpu
     * @param wlcReorder
     * @param wlcsReorder
     * @param timeReorder
     * @return
     */
    public GoodsSpuExample queryCondition(HttpServletRequest request,String userId,String sourceFlag,String spuIds, String shareId, GoodsSpu goodsSpu,String wlcReorder,String wlcsReorder,String timeReorder) ;
    public List<GoodsSpu> getGoodsSpu(String specialId);
    /**
     * 根据特卖编号和商品编号查找商品信息
     * @param specialId
     * @param spuId
     * @return
     */
    public GoodsSpu getOneGoodsSpu(String specialId,String spuId);
    /**
     * 修改特买啥商品信息
     * @param spuIds
     * @param couponMobeys
     * @param wlcommisoins
     * @return
     */
    public String updateGoodsSpu(List<String> spuIds,List<Double> couponMobeys,List<Double> wlcommisoins);
    /**
     * 修改单个特卖商品
     * @param spuId
     * @param couponMoney
     * @return
     */
    public String updateOneGoodsSpu(String spuId,Double couponMoney);
    public GoodsSpu getGoodsSpuBySpuId(String spuId);
    public GoodsSpu getBySku(String skuId);
    
    public GoodsSpu getBySpuNum(String spuNum);
    
    public GoodsSpu getByskuId(String skuId);
	
	/**
	 * 根据SpuId 获取 SkuId
	 * @author 王文鑫
	 * @date 2018年1月25日 下午3:18:23
	 * @param skuId
	 * @return
	 */
	public String getSkuIdBySpuId(String spuId);
	

	public String getPoster(GoodsSpu goodsSpu, String historyId, String userId);

	public String getCommonErheyiLink(String spuId, String userId) ;

	/**
	 * 根据用户ID获得用户推广位id
	 * @param userId
	 * @return
	 */
	public String getJdPositionByUserId( String userId );
	
	public String getConErheyiLink(String spuId, String userId) throws Exception ;
	
	/**
	 * 获得京东二合一接口
	 * @param skuNum
	 * @param position
	 * @return
	 */
	public String getCommonLinkByDdt( String skuNum, String position );
	
	/**
	 * 获得京东优惠券接口
	 * @param skuNum
	 * @param conUrl
	 * @param position
	 * @return
	 */
	public String getConLinkByDdt( String skuNum, String conUrl, String position )throws Exception;

	public void deleteById(String spuId) ;
	
	
	/**
	 * 形成订单时支付后商品库存减少或增加 ,参数:商品号，数量，计算
	 * @author 王文鑫
	 * @date 2018年2月9日 上午10:03:55
	 * @param request
	 * @param response
	 * @param SkuId
	 * @param compute
	 * @param num
	 * @return
	 */
	public Map<String, Object> getCouponNumById(String SkuId,String compute,int num) ;
	
	/**
	 * 商品换货 
	 * @author 王文鑫
	 * @date 2018年2月9日 上午10:09:11
	 * @param request
	 * @param response
	 * @param AddSkuId
	 * @param SubSkuId
	 * @param num
	 * @return
	 */
	public Map<String, Object> GoodsBarter(HttpServletRequest request, HttpServletResponse response,String AddSkuId,String SubSkuId,int num) ;
	
}